package com.tiger.project.domain;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tiger.common.annotation.Excel;
import com.tiger.common.core.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;


/**
 * 【巡查记录】对象 patrol_record
 *
 * @author standard
 * @date 2022-09-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "patrol_record对象", description = "【巡查记录】内容")
public class PatrolRecord extends BaseEntity {
private static final long serialVersionUID = 1L;

        /** ID */
        @ApiModelProperty(value = "id")
        private Long id;

        /** 资产id */
        @Excel(name = "资产id")
        @ApiModelProperty(value = "资产id")
        private Long assetId;

        /** 巡查记录编号 */
        @Excel(name = "巡查记录编号")
        @ApiModelProperty(value = "巡查记录编号")
        private String patrolRecordNo;

        /** 巡查类型  1-日常巡查，2-安全巡查，3-卫生巡查，4-突击巡查，5-夜间巡查，6-其他类巡查 */
        @Excel(name = "巡查类型  1-日常巡查，2-安全巡查，3-卫生巡查，4-突击巡查，5-夜间巡查，6-其他类巡查")
        @ApiModelProperty(value = "巡查类型  1-日常巡查，2-安全巡查，3-卫生巡查，4-突击巡查，5-夜间巡查，6-其他类巡查")
        private Long type;

        /** 巡查时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        @Excel(name = "巡查时间", width = 30, dateFormat = "yyyy-MM-dd")
        @ApiModelProperty(value = "巡查时间")
        private Date patrolDate;

        /**  紧急程度 1-非常紧急，2-紧急，3-一般，4-不紧急 */
        @Excel(name = " 紧急程度 1-非常紧急，2-紧急，3-一般，4-不紧急")
        @ApiModelProperty(value = " 紧急程度 1-非常紧急，2-紧急，3-一般，4-不紧急")
        private Long degree;

        /** 1-未提交，2-审批中，3-审批通过，4-已驳回 */
        @Excel(name = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        @ApiModelProperty(value = "1-未提交，2-审批中，3-审批通过，4-已驳回")
        private Long status;

        /** 记录描述 */
        @Excel(name = "记录描述")
        @ApiModelProperty(value = "记录描述")
        private String description;

        /** 照片地址数组 */
        @Excel(name = "照片地址数组")
        @ApiModelProperty(value = "照片地址(,号拼接)")
        private String pictures;

        @ApiModelProperty(value = "照片地址集合(,号拼接)")
        private List<String> picturesList;

        /** 删除标志 1-是，0-否 */
        @Excel(name = "删除标志 1-是，0-否")
        @ApiModelProperty(value = "删除标志 1-是，0-否")
        private Long isDeleted;


        @JsonFormat(pattern = "yyyy-MM-dd")
        @ApiModelProperty(value = "创建时间")
        private Date createdAt;


        @JsonFormat(pattern = "yyyy-MM-dd")
        @ApiModelProperty(value = "更新时间")
        private Date updatedAt;

        @ApiModelProperty(value = "公司id")
        private Long companyId;

        /** 创建人 */
        @Excel(name = "创建人")
        @ApiModelProperty(value = "创建人")
        private Long createById;

        /** 创建人名称 */
        @Excel(name = "创建人名称")
        @ApiModelProperty(value = "创建人名称")
        private String createByName;

        /** 更新人 */
        @Excel(name = "更新人")
        @ApiModelProperty(value = "更新人")
        private Long updateById;

        /** 更新人名称 */
        @Excel(name = "更新人名称")
        @ApiModelProperty(value = "更新人名称")
        private String updateByName;

        /** 租户id(0--平台用户 非0--正常租户) */
        @Excel(name = "租户id(0--平台用户 非0--正常租户)")
        @ApiModelProperty(value = "租户id(0--平台用户 非0--正常租户)")
        private Long tenantId;

        /** 巡查人员id */
        @Excel(name = "巡查人员id")
        @ApiModelProperty(value = "巡查人员id")
        private String pipelineWalkerId;

        /** 巡查人员姓名 */
        @Excel(name = "巡查人员姓名")
        @ApiModelProperty(value = "巡查人员姓名")
        private String pipelineWalkerName;

        /** 告知人员id */
        @Excel(name = "告知人员id")
        @ApiModelProperty(value = "告知人员id")
        private String notifyId;

        /** 告知人员姓名 */
        @Excel(name = "告知人员姓名")
        @ApiModelProperty(value = "告知人员姓名")
        private String notifyName;

        /** 资产名称 */
        @Excel(name = "资产名称")
        @ApiModelProperty(value = "资产名称")
        private String name;


        /** 资产地址 */
        @Excel(name = "资产地址")
        @ApiModelProperty(value = "资产地址")
        private String address;


        @ApiModelProperty(value = "资产集合")
        private List<Asset> assetList = new ArrayList<>();

        @ApiModelProperty(value = "维修项目集合")
        private List<MaintenanceApply> applyList = new ArrayList<>();


        @ApiModelProperty(value = "查询时间 开始")
        private String beginTime;

        @ApiModelProperty(value = "查询时间  结束")
        private String endTime;

        @ApiModelProperty(value = "1-升序 2-倒叙")
        private Long rank;


}
